The GPS system (Global Positioning System) is a well known global navigation satellite system (GNSS). It comprises over 20 satellites, of which a maximum of 12 satellites are normally visible to a receiver at the same time. These satellites transmit various information, such as Ephemeris data and clock data parameters which describe the satellite clock and its relationship to GPS time. Normally, the receiver used in positioning determines its location by calculating the transit time of signals transmitted simultaneously from several satellites of the positioning system to the receiver. To determine its location, the receiver must typically receive the signal of at least four visible satellites in order to be able to calculate the location.
Each operational satellite of the GPS system transmits a so-called L1 signal at a carrier frequency of 1575.42 MHz. This frequency is also denoted 154f0, where f0=10.23 MHz. In addition, the satellites transmit an L2 signal at a carrier frequency of 1227.6 MHz, that is 120f0. In the satellite, these signals are modulated with at least one pseudo-random sequence. Each satellite has a different pseudo-random sequence. As a result of modulation, a code modulated wideband signal is formed. This modulation technique makes it possible for the receiver to distinguish between signals transmitted by different satellites, despite the fact that the carrier frequencies used in the transmission are essentially the same. This modulation technique is called Code Division Multiple Access (CDMA). One of the pseudo-random sequences used in each satellite for the modulation of the L1 signal is so-called C/A code (Coarse/Acquisition code), which is so-called Gold code. Each GPS satellite transmits a signal using a unique C/A code. The codes are formed as the modulo 2 sum of two 1023-bit binary sequences. The first binary sequence G1 is formed using the polynomial X10+X3+1, and the second binary sequence G2 is formed by delaying the polynomial X10+X9+X8+X6+X3+X2+1 so that each satellite has a different delay. This arrangement enables the generation of different C/A codes with a similar code generator. The C/A codes are binary codes, the chipping rate of which in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, which means that the repetition time of the code is 1 ms. The carrier wave of the L1 signal is further modulated with navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the “health” of the satellite, its orbit and clock data parameters, etc. Each satellite of the GPS system maintains a local time by e.g. atomic clocks.
At the moment there are at least two other GNSS systems under development: Glonass (GLObal NAvigation Satellite System) and Galileo.
In order to detect the satellite signals and to identify the satellites, the receiver must perform an acquisition operation, in which the receiver searches for the signal of each satellite and tries to synchronize with the signal so that the data transmitted with the signal can be received and demodulated.
After acquisition with the code has been performed, the frequency is fine tuned and phase locking is carried out. The above mentioned acquisition and frequency adjustment process must be repeated for each satellite signal received at the receiver. Therefore, this process consumes a lot of time especially in a situation where the received signals are weak. In some prior art receivers, several correlators are used in order to accelerate this process, whereby more correlation peaks can be searched for simultaneously. In practical applications, it is not possible to accelerate the acquisition and frequency adjustment process very much by simply increasing the number of correlators, because their number cannot be increased indefinitely.
In a conventional DS-CDMA (Direct Sequence CDMA) receiver the acquisition procedure consists of the following phases: matched filtering or correlation, coherent averaging of the results from the matched filter and residual Doppler frequency analysis, non-coherent averaging and decision logic. After the non-coherent averaging there exists a two-dimensional array. An element in that array describes how well a local replica code with a certain chip phase offset and residual Doppler frequency offset correlates with the received signal. The decision logic searches for the maximum value and if this maximum value exceeds a predetermined threshold, then a decision that the signal is present is made. Quite often there exists an interfering signal, and this can complicate the acquisition procedure. In some cases it is impossible to know which signal is the right one. For example, when the signal level of the satellite being search for is very low, several sources of interference can make the acquisition of the weak signal difficult or even impossible. One example of these interference sources is a signal from another satellite, if the difference in the received power levels is large enough. Interference can be generated within the receiver also. With certain types of RF front ends it is difficult and costly to avoid injecting DC offset into the received signal. This DC offset is shifted by the local carrier wipe-off multiplier to a non-zero frequency. It is attenuated by the matched filter but when low level satellite signals are acquired this attenuation may not be enough so that the amplitude of sinusoid may be larger than the amplitude of the satellite signal after the matched filter.
In an European application EP 1 107 018 a method for synchronizing a receiver is disclosed. In the method a non-coherent search matrix is formed wherein in the acquisition procedure the maximum value of the non-coherent search matrix is located. If the maximum value exceeds a predetermined threshold, a detection decision is made and the code phase and Doppler frequency are calculated on the basis of the location of the maximum value in the search matrix.